Termination Proof Script

Consider the TRS R consisting of the rewrite rules
1:    app(app(minus,0),y)  → 0
2:    app(app(minus,app(s,x)),0)  → app(s,x)
3:    app(app(minus,app(s,x)),app(s,y))  → app(app(minus,x),y)
4:    app(app(le,0),y)  → true
5:    app(app(le,app(s,x)),0)  → false
6:    app(app(le,app(s,x)),app(s,y))  → app(app(le,x),y)
7:    app(app(app(if,true),x),y)  → x
8:    app(app(app(if,false),x),y)  → y
9:    app(perfectp,0)  → false
10:    app(perfectp,app(s,x))  → app(app(app(app(f,x),app(s,0)),app(s,x)),app(s,x))
11:    app(app(app(app(f,0),y),0),u)  → true
12:    app(app(app(app(f,0),y),app(s,z)),u)  → false
13:    app(app(app(app(f,app(s,x)),0),z),u)  → app(app(app(app(f,x),u),app(app(minus,z),app(s,x))),u)
14:    app(app(app(app(f,app(s,x)),app(s,y)),z),u)  → app(app(app(if,app(app(le,x),y)),app(app(app(app(f,app(s,x)),app(app(minus,y),x)),z),u)),app(app(app(app(f,x),u),z),u))
There are 29 dependency pairs:
15:    APP(app(minus,app(s,x)),app(s,y))  → APP(app(minus,x),y)
16:    APP(app(minus,app(s,x)),app(s,y))  → APP(minus,x)
17:    APP(app(le,app(s,x)),app(s,y))  → APP(app(le,x),y)
18:    APP(app(le,app(s,x)),app(s,y))  → APP(le,x)
19:    APP(perfectp,app(s,x))  → APP(app(app(app(f,x),app(s,0)),app(s,x)),app(s,x))
20:    APP(perfectp,app(s,x))  → APP(app(app(f,x),app(s,0)),app(s,x))
21:    APP(perfectp,app(s,x))  → APP(app(f,x),app(s,0))
22:    APP(perfectp,app(s,x))  → APP(f,x)
23:    APP(perfectp,app(s,x))  → APP(s,0)
24:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(app(app(app(f,x),u),app(app(minus,z),app(s,x))),u)
25:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(app(app(f,x),u),app(app(minus,z),app(s,x)))
26:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(app(f,x),u)
27:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(f,x)
28:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(app(minus,z),app(s,x))
29:    APP(app(app(app(f,app(s,x)),0),z),u)  → APP(minus,z)
30:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(app(if,app(app(le,x),y)),app(app(app(app(f,app(s,x)),app(app(minus,y),x)),z),u)),app(app(app(app(f,x),u),z),u))
31:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(if,app(app(le,x),y)),app(app(app(app(f,app(s,x)),app(app(minus,y),x)),z),u))
32:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(if,app(app(le,x),y))
33:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(le,x),y)
34:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(le,x)
35:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(app(app(f,app(s,x)),app(app(minus,y),x)),z),u)
36:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(app(f,app(s,x)),app(app(minus,y),x)),z)
37:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(f,app(s,x)),app(app(minus,y),x))
38:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(minus,y),x)
39:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(minus,y)
40:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(app(app(f,x),u),z),u)
41:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(app(f,x),u),z)
42:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(app(f,x),u)
43:    APP(app(app(app(f,app(s,x)),app(s,y)),z),u)  → APP(f,x)
The approximated dependency graph contains one SCC: {15,17,19-21,24-26,28,30,31,33,35,36,38,40-42}.
Tyrolean Termination Tool  (222.45 seconds)   ---  May 3, 2006